#!usr/bin/python
# -*- coding:utf-8 -*-
# print("下面将中国项目基金的txt文件转化为json文件并写入至远程mongodb数据库中。")
from pymongo import MongoClient
import pymongo
connection=pymongo.MongoClient('mongodb://192.168.1.123:27017')
db=connection.test
collection=db.CHINAS
txtfile= open('C:\\Users\\Administrator\\Desktop\\fund.txt','r',encoding='gbk')
# # print(txtfile.read())
# # 出现问题1：'utf-8' codec cannot decode byte 0xff in position 0:
# # 解决办法：打开notepad++,将其编码使用没有BOM的utf-8格式保存为新的txt文件即可。
try:
    next(txtfile)    # 删除第一行标题

    a = {}
    for line in txtfile.readlines():
        line=line.strip()
        if '：' not in line:
            if '题目' in line:
                a[line.split('\t')[0]]=line.split('\t')[1]
            elif '执行时间' in line:
                a[line.split('\t')[0]]=line.split('\t')[1].split(' ')[0]+line.split('\t')[1].split(' ')[1]+line.split('\t')[1].split(' ')[2]
            else:
                a['负责人']=line.split('\t')[0]
                a['单位']=line.split('\t')[1]
                a['金额(万)']=line.split('\t')[2]
                a['项目编号']=line.split('\t')[3]
                a['项目类型']=line.split('\t')[4]
                a['所属学部']=line.split('\t')[5]
                a['批准年份']=line.split('\t')[6]
        elif '：' in line and '学科分类' in line:
            a[line.split('\t')[0]]={}
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[0].split('：')[0]]=line.split('\t')[1].split('，')[0].split('：')[1]
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[1].split('：')[0]]=line.split('\t')[1].split('，')[1].split('：')[1]
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[2].split('：')[0]]=line.split('\t')[1].split('，')[2].split('：')[1]
        elif '：' in line and '学科代码' in line:
            a[line.split('\t')[0]]={}
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[0].split('：')[0]]=line.split('\t')[1].split('，')[0].split('：')[1]
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[1].split('：')[0]]=line.split('\t')[1].split('，')[1].split('：')[1]
            a[line.split('\t')[0]][line.split('\t')[1].split('，')[2].split('：')[0]]=line.split('\t')[1].split('，')[2].split('：')[1]
        if len(a)==11:
            collection.insert_one(a)
            a.clear()
finally:
    txtfile.close()
